}
return NULL;
}
+#endif
/* Older PROM flush WAR
*
controller->window = new_window;
}
+#ifndef XEN
void sn_pci_unfixup_slot(struct pci_dev *dev)
{
struct pci_dev *host_pci_dev = SN_PCIDEV_INFO(dev)->host_pci_dev;
static int __init sn_io_early_init(void)
{
int i, j;
-#ifndef XEN
struct pci_dev *pci_dev = NULL;
-#endif
if (!ia64_platform_is("sn2") || IS_RUNNING_ON_FAKE_PROM())
return 0;
#include <asm/sn/sn_sal.h>
#ifdef XEN
+#define pci_dev_get(dev) do {} while(0)
#define move_native_irq(foo) do {} while(0)
#endif
}
}
-#ifndef XEN
static void register_intr_pda(struct sn_irq_info *sn_irq_info)
{
int irq = sn_irq_info->irq_irq;
pdacpu(cpu)->sn_first_irq = irq;
}
+#ifndef XEN
static void unregister_intr_pda(struct sn_irq_info *sn_irq_info)
{
int irq = sn_irq_info->irq_irq;
spin_unlock(&sn_irq_info_lock);
#endif
}
-#endif /* XEN */
-#ifndef XEN
static void sn_irq_info_free(struct rcu_head *head)
{
struct sn_irq_info *sn_irq_info;
}
#endif
-#ifndef XEN
void sn_irq_fixup(struct pci_dev *pci_dev, struct sn_irq_info *sn_irq_info)
{
nasid_t nasid = sn_irq_info->irq_nasid;
pci_dev_get(pci_dev);
sn_irq_info->irq_cpuid = cpu;
+#ifndef XEN
sn_irq_info->irq_pciioinfo = SN_PCIDEV_INFO(pci_dev);
+#endif
/* link it into the sn_irq[irq] list */
spin_lock(&sn_irq_info_lock);
void sn_irq_unfixup(struct pci_dev *pci_dev)
{
+#ifndef XEN
struct sn_irq_info *sn_irq_info;
/* Only cleanup IRQ stuff if this device has a host bus context */
#endif
pci_dev_put(pci_dev);
-}
#endif
+}
static inline void
sn_call_force_intr_provider(struct sn_irq_info *sn_irq_info)